#!/usr/bin/env python
# coding: utf-8

"""
@file: basic_graph.py
@author: cg 
@date: 2019/11/27 6:53
@desc:
    图的基本操作
"""
# 邻接列表的形式
g = { 'a':['b','c'],
      'b':['c'],
      'c':[]
    }
    
# 输出所有的节点vertex
print("所有节点是: ",end=' ')
for k in g:
    print(k, end=' ')
print()
# 输出所有的边  edges
print("所有边如下：")
for k in g:
    n = g[k] # k对应的values，是由k点可以邻接的点
    for i in n:
        print('{}->{}'.format(k,i))

# 邻接矩阵的方式表示图 
# vs是点的集合 ，
# es表示边的集合
vs = ['A','B','C']
es = [[0,1,1],
     [0,0,1],
     [0,0,0]]
# 输出所有的边 
for i in range( len(es) ):
    for j in range( len(es[i]) ):
        # es[i][j] 代表
        if es[i][j] == 1:
            print(vs[i],"->",vs[j])